I was perusing reddit and came upon a posting that claimed to have cracked the TI-83+ calculator’s public key. This allows anyone to write and “sign” their own code so that the calculator thinks that it is legitimate code from Texas Instruments. This opens up a lot of interesting possibilities.
What does this mean? This has to do with public key cryptography, where some secret numbers are chosen, multiplied together, and the results are what are called ‘keys’. Given just these keys, it is theoretically computationally impossible to find the original secret numbers.
In this way, it is possible to verify someone’s identity and/or encrypt a message using a public key, which you publish publicly. Then to retrieve the information or decrypt the message, you need a special private key, which only one person has.
In this way, for the TI-83+, TI could block any code that wasn’t written and signed by TI. Well, now that the public key has been cracked, anyone can sign their code and make it look like it was written by TI. Now you can write whatever you want and make your calculator think that it is official code, allowing you to do all sorts of fun, non-normal things.
Now I don’t do much (actually any) programming for the calculator, but this is still a really interesting from a mathematical perspective.
If you’re interested, here are the numbers that have been cracked:
6,857,599,914,349,403,977,654,744,967,
172,758,179,904,114,264,612,947,326,
127,169,976,133,296,980,951,450,542,
789,808,884,504,301,075,550,786,464,
802,304,019,795,402,754,670,660,318,
614,966,266,413,770,127
is the product of
5,174,413,344,875,007,990,519,123,187,
618,500,139,954,995,264,909,695,897,
020,209,972,309,881,454,541
and
1,325,290,319,363,741,258,636,842,042,
448,323,483,211,759,628,292,406,959,
481,461,131,759,210,884,908,747
For a more detailed look at the mathematics of this, take a look here at the July 31st, 2009 entry.
I hope you find this interesting! And if you have a TI-83+, happy hacking!
Wow. I was looking for this hack for some time now and your post really did the trick for me :)